// $Id: api.hpp 2 2009-09-02 08:47:42Z joseph2002 $
/*
 * Copyright 2008-2009 Joseph Wu
 * Distributed under the Boost Software License, Version 1.0.
 * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 *
 * For more information, see http://xpcomplus.sourceforge.net
 */

#define XPCOM_API_VERSION_LATEST 1090100 // latest version, this may be changed
#define XPCOM_API_VERSION_1_7 1070000
#define XPCOM_API_VERSION_1_8 1080000
#define XPCOM_API_VERSION_1_9 1090000
#define XPCOM_API_VERSION_1_9_0_3 1090003 // this version changes string ABI
#define XPCOM_API_VERSION_1_9_1 1090100

//
// Default API version is the latest
//
#define XPCOM_DEFAULT_API_VERSION XPCOM_API_VERSION_LATEST

// Use default version if XPCOM_API_VERSION is not defined
#ifndef XPCOM_API_VERSION
#  if defined(XPCOM_HAS_PRAGMA_MESSAGE)
#    pragma message("warning: XPCOM_API_VERSION is not defined, default to 1090000.")
#  elif defined(XPCOM_HAS_WARNING_MESSAGE)
#    warning "XPCOM_API_VERSION is not defined, default to 1090000."
#  endif
#  define XPCOM_API_VERSION XPCOM_DEFAULT_API_VERSION
#endif

//
// API version >= 1.8 is supported
//
#if XPCOM_API_VERSION < XPCOM_API_VERSION_1_8
#  error XPCOM API version < 1.8 is NOT supported.
#endif // XPCOM_API_VERSION
